<?php

class buscarActions extends sfActions
{ 
  public function executeIndex(sfWebRequest $request)
  {   
      $this->formulario = new BuscarForm();        
  }  
  public function executeEnviar(sfWebRequest $request) 
  {
      $this->forward404Unless($request->isMethod(sfRequest::POST));            
      $this->formulario = new BuscarForm();
      $this->procesarFormulario($request, $this->formulario);     
      $this->setTemplate('new');      
  }
  
  public function executeMostrar(sfWebRequest $request)
  {      
      $q = Doctrine_Query::create()->from('Beca b');

      if ($request->getParameter('p1') != ' ')
      {   
          $q->where('b.nombre ILIKE ?', '%'.$request->getParameter('p1').'%');          
      }
      if($request->getParameter('p2') != ' ')
      {        
        $q->andwhere('b.universidad_ofrece_id='.BecaTable::getIdEntidad($request->getParameter('p2')));         
      }      
      if($request->getParameter('p4') != ' ')
      { 
        $q->andwhere('b.fecha_inicio BETWEEN '."'".Mensajero::fechaOut($request->getParameter('p3'))."'".' AND '."'".Mensajero::fechaOut($request->getParameter('p4'))."'");       
      }      
      $this->becas=$q->execute();      
  }
    protected function procesarFormulario(sfWebRequest $request, sfForm $unFormulario)                
  {       
        $unFormulario = $request->getParameter('buscar_becas');         
        $nombre = $unFormulario['nombre'];
        $universidad = $unFormulario['universidad'];
        $fecha_inicio= $unFormulario['fecha_inicio'];
        $fecha_fin= $unFormulario['fecha_fin'];        
        $this->redirect($this->generateUrl('default', array('module' => 'buscar','action' => 'mostrar', 'p1' => $nombre, 'p2' => $universidad, 'p3' =>Mensajero::fechaIn($fecha_inicio), 'p4' => Mensajero::fechaIn($fecha_fin))));        
  }
}